#pragma once
#include "IState.h"
#include "ScriptManager.h"

class EditorState : public IState{
public:
	EditorState(EngineInterfacePtr engine);

	void onAdded();
	void onRemoved();
	void onUpdated();

private:
	void initializeGUIComponents();

	void onLoadScriptButton();
	void onUnloadScriptButton();
	void onAddModelButton();

	GUIManagerPtr m_gui;
	ScriptManagerPtr m_scriptMgr;
	ICameraPtr m_camera;
	SceneManagerPtr m_sceneManager;

	std::string m_meshName;
	int			m_frameCount;
	
	boost::shared_ptr<boost::timer> m_fpsTimer;
};